package exception;


import java.util.Scanner;

/**
 * 异常 Exception
 */
public class Exception01 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("输入除数：");
        int num1 = 10;
        int i = scanner.nextInt();

        //选中 ctrl + alt + t
        /*
            当执行到 num1 / num2 因为 num2 = 0，程序就会出现异常 ArithmeticException
            当抛出异常后，程序就退出了
            如果进行异常处理 try-catch ，那么即使出现了异常，程序可以继续执行
         */
        try {
            int res = num1 / i;
        } catch (Exception e) {
            System.out.println("出现异常的原因=" + e.getMessage());// 输出异常信息
        }

        System.out.println("程序继续运行...");
    }

    /*
        java 语言中，将程序执行中发生的不正常情况称为"异常"
        可分为两大类：
        1)Error(错误)：Java虚拟机无法解决的严重问题。如：JVM系统内部错误、资源耗尽等严重情况。
            比如 StackOverflowError[栈溢出]和OOM
        2)Exception：其他因编程错误或偶然的外在因素导致的一般性问题，可以使用针对性的代码进行处理
            Exception分为两大类：运行时异常(程序运行时发生的异常)，编译时异常(编程时，编译器检查出的异常)
     */
}

